home *** CD-ROM | disk | FTP | other *** search
- package com.extensibility.xa;
-
- import com.extensibility.app.ApplicationPreferences;
- import com.extensibility.app.DialogFactory;
- import com.extensibility.app.UI;
- import com.extensibility.rock.RDialog;
- import com.extensibility.rock.RSeparator;
- import com.extensibility.rock.Screen;
- import com.extensibility.xml.SchemaUtilities;
- import java.awt.BorderLayout;
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Dialog;
- import java.awt.FlowLayout;
- import java.awt.Font;
- import java.awt.Frame;
- import java.awt.GridBagConstraints;
- import java.awt.GridBagLayout;
- import java.awt.Insets;
- import java.awt.Window;
- import java.io.File;
- import java.io.IOException;
- import javax.swing.BorderFactory;
- import javax.swing.Box;
- import javax.swing.ButtonGroup;
- import javax.swing.JButton;
- import javax.swing.JCheckBox;
- import javax.swing.JComboBox;
- import javax.swing.JDialog;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JPanel;
- import javax.swing.JRadioButton;
- import javax.swing.JTextArea;
- import javax.swing.JTextField;
- import javax.swing.border.EmptyBorder;
- import javax.swing.border.TitledBorder;
-
- public class PreferencesDialog extends RDialog {
- Frame parent;
- JLabel lbldisplayTitle;
- JLabel lblShowWelcome;
- JLabel lblHelpBrowser;
- JLabel lblDebuging;
- JLabel debugDescription;
- JTextArea taDebugDescription;
- JLabel lblFont;
- JLabel lblFontEnd;
- JLabel lblDefSchema;
- JButton btnBrowseBrowser;
- JButton btnAccept;
- JButton btnCancel;
- JCheckBox cbShowWelcome;
- JCheckBox cbOnlineHelp;
- JCheckBox cbDebug;
- JCheckBox cbOverview;
- JCheckBox cbComment;
- JComboBox cmbSchemaTypes;
- JComboBox cmbFontSize;
- JRadioButton rbXAHelp;
- JRadioButton rbOtherHelp;
- JTextField tfOtherBrowser;
- JTextField tfSchemaPath;
- JTextField tfOpenFromBase;
- JTextField tfSaveToBase;
- JPanel pnlDefaultSchema;
- JPanel pnlHelpBrowser;
- JPanel pnlSchemaPath;
- JPanel pnlOpenFromBase;
- JPanel pnlSaveToBase;
- JPanel pnlMisc;
- XAPreferences preferences;
-
- public PreferencesDialog(JFrame var1, ApplicationPreferences var2) {
- super(var1, true);
- this.parent = var1;
- this.preferences = (XAPreferences)var2;
- this.prepare();
- }
-
- public void addNotify() {
- super.addNotify();
- }
-
- protected void doOK() {
- this.preferences.updateOnlineHelp(this.cbOnlineHelp.isSelected());
- this.preferences.updateShowWelcome(this.cbShowWelcome.isSelected());
- this.preferences.updateShowOverview(this.cbOverview.isSelected());
- this.preferences.updateShowComment(this.cbComment.isSelected());
- String var1 = (String)this.cmbSchemaTypes.getSelectedItem();
- var1 = var1.substring(var1.lastIndexOf(".") + 1, var1.lastIndexOf(".") + 4);
- this.preferences.updateDefaultSchemaFlavor(var1);
- if (this.rbXAHelp.isSelected()) {
- this.preferences.updateBrowserPath((String)null);
- } else {
- this.preferences.updateBrowserPath(this.tfOtherBrowser.getText());
- }
-
- this.preferences.updateSchemaPath(this.tfSchemaPath.getText());
- this.preferences.updateOpenFromBase(this.tfOpenFromBase.getText());
- this.preferences.updateSaveToBase(this.tfSaveToBase.getText());
- String var2 = (String)this.cmbFontSize.getSelectedItem();
- if (var2.equals(UI.getString("dialog.preferences.label.fontsize.defaultvalue"))) {
- this.preferences.updateDocFont(-1);
- } else {
- this.preferences.updateDocFont(Integer.parseInt(var2));
- }
-
- if (this.cbDebug.isSelected()) {
- this.preferences.updateDebugLevel(2);
- } else {
- this.preferences.updateDebugLevel(0);
- }
-
- try {
- this.preferences.save();
- } catch (IOException var4) {
- DialogFactory.showException(this, 108, var4);
- }
-
- ((Component)this).setVisible(false);
- ((Window)this).dispose();
- }
-
- private void prepare() {
- this.lbldisplayTitle = new JLabel(UI.getString("dialog.preferences.display.title"));
- this.lblHelpBrowser = new JLabel(UI.getString("dialog.preferences.label.helpdisplay"));
- this.btnAccept = new JButton(UI.getString("dialog.ok"));
- this.btnAccept.addActionListener(new 1(this));
- this.btnCancel = new JButton(UI.getString("dialog.cancel"));
- this.btnCancel.addActionListener(new 2(this));
- this.lblDefSchema = new JLabel(UI.getString("dialog.preferences.label.defaultschema"));
- String[] var1 = convertAllowedTypes(SchemaUtilities.getExtensions());
- this.cmbSchemaTypes = new JComboBox(var1);
- String var2 = this.preferences.getDefaultSchemaFlavor();
- int var3 = 0;
-
- for(int var4 = 0; var4 < var1.length; ++var4) {
- if (var1[var4].indexOf(var2) > 0) {
- var3 = var4;
- }
- }
-
- this.cmbSchemaTypes.setSelectedIndex(var3);
- this.rbXAHelp = new JRadioButton(UI.getString("dialog.preferences.button.xahelp"));
- this.rbXAHelp.addActionListener(new 3(this));
- this.rbOtherHelp = new JRadioButton(UI.getString("dialog.preferences.button.otherhelp"));
- this.rbOtherHelp.addActionListener(new 4(this));
- ButtonGroup var5 = new ButtonGroup();
- var5.add(this.rbXAHelp);
- var5.add(this.rbOtherHelp);
- if (this.preferences.getBrowserPath() == null) {
- this.rbXAHelp.setSelected(true);
- } else {
- this.rbOtherHelp.setSelected(true);
- }
-
- String var6 = this.preferences.getBrowserPath();
- if (var6 == null) {
- var6 = UI.getString("dialog.preferences.otherbrowser.path");
- if (!(new File(var6)).exists()) {
- var6 = "";
- }
-
- this.rbXAHelp.setSelected(true);
- } else {
- this.rbOtherHelp.setSelected(true);
- }
-
- this.tfOtherBrowser = new JTextField(var6, 25);
- this.btnBrowseBrowser = new JButton(UI.getString("dialog.preferences.expand"));
- this.btnBrowseBrowser.setFont(new Font("SansSerif", 0, 9));
- this.btnBrowseBrowser.addActionListener(new 5(this));
- this.enableTfOtherBrowser();
- JPanel var7 = new JPanel();
- ((Container)var7).add(this.tfOtherBrowser);
- ((Container)var7).add(Box.createHorizontalStrut(3));
- ((Container)var7).add(this.btnBrowseBrowser);
- this.pnlSchemaPath = new JPanel();
- TitledBorder var8 = BorderFactory.createTitledBorder(UI.getString("dialog.preferences.panel.schemapath"));
- this.pnlSchemaPath.setBorder(var8);
- String var9 = this.preferences.getSchemaPath();
- if (var9 == null) {
- var9 = "";
- }
-
- this.tfSchemaPath = new JTextField(var9, 25);
- this.pnlSchemaPath.add(this.tfSchemaPath);
- this.pnlOpenFromBase = new JPanel();
- TitledBorder var10 = BorderFactory.createTitledBorder(UI.getString("dialog.preferences.panel.openfrombase"));
- this.pnlOpenFromBase.setBorder(var10);
- String var11 = this.preferences.getOpenFromBase();
- if (var11 == null) {
- var11 = "";
- }
-
- this.tfOpenFromBase = new JTextField(var11, 25);
- this.pnlOpenFromBase.add(this.tfOpenFromBase);
- this.pnlSaveToBase = new JPanel();
- TitledBorder var12 = BorderFactory.createTitledBorder(UI.getString("dialog.preferences.panel.savetobase"));
- this.pnlSaveToBase.setBorder(var12);
- String var13 = this.preferences.getSaveToBase();
- if (var13 == null) {
- var13 = "";
- }
-
- this.tfSaveToBase = new JTextField(var13, 25);
- this.pnlSaveToBase.add(this.tfSaveToBase);
- this.lblFont = new JLabel(UI.getString("dialog.preferences.label.fontsize"));
- this.cbShowWelcome = new JCheckBox(UI.getString("dialog.preferences.cb.showwelcome"));
- this.cbShowWelcome.setSelected(this.preferences.getShowWelcome());
- this.cbOnlineHelp = new JCheckBox(UI.getString("dialog.preferences.cb.onlinehelp"));
- this.cbOnlineHelp.setSelected(this.preferences.getOnlineHelp());
- this.cbOverview = new JCheckBox(UI.getString("dialog.preferences.cb.showoverview"));
- this.cbOverview.setSelected(this.preferences.getShowOverview());
- this.cbComment = new JCheckBox(UI.getString("dialog.preferences.cb.showcomment"));
- this.cbComment.setSelected(this.preferences.getShowComment());
- this.debugDescription = new JLabel(UI.getString("dialog.preferences.label.debuging.description"));
- this.debugDescription.setFont(new Font("Dialog", 0, 10));
- this.taDebugDescription = UI.createTextArea(false);
- this.taDebugDescription.setFont(new Font("Dialog", 0, 9));
- this.taDebugDescription.setBackground(((JDialog)this).getContentPane().getBackground());
- this.taDebugDescription.setText(UI.getString("dialog.preferences.label.debuging.description"));
- this.taDebugDescription.setSize(50, 20);
- this.cbDebug = new JCheckBox(UI.getString("dialog.preferences.cb.debuging"));
- if (this.preferences.getDebugLevel() > 0) {
- this.cbDebug.setSelected(true);
- }
-
- this.lblFont = new JLabel(UI.getString("dialog.preferences.label.fontsize.description"));
- String[] var14 = new String[]{"Default", "9", "10", "11", "12", "14"};
- this.cmbFontSize = new JComboBox(var14);
- Font var15 = this.preferences.getDocFont();
- if (var15 != null) {
- this.cmbFontSize.setSelectedItem(Integer.toString(var15.getSize()));
- } else {
- this.cmbFontSize.setSelectedItem("Default");
- }
-
- this.cmbFontSize.setSize(30, 15);
- this.lblFontEnd = new JLabel(UI.getString("dialog.preferences.label.fontsize.requires"));
- this.lblFontEnd.setFont(new Font("Dialog", 0, 10));
- JPanel var16 = new JPanel();
- ((Container)var16).add(this.lblFont);
- ((Container)var16).add(Box.createHorizontalStrut(3));
- ((Container)var16).add(this.cmbFontSize);
- ((Container)var16).add(Box.createHorizontalStrut(2));
- ((Container)var16).add(this.lblFontEnd);
- this.pnlDefaultSchema = new JPanel();
- TitledBorder var17 = BorderFactory.createTitledBorder(UI.getString("dialog.preferences.panel.schema.title"));
- this.pnlDefaultSchema.setBorder(var17);
- GridBagLayout var18 = new GridBagLayout();
- GridBagConstraints var19 = new GridBagConstraints();
- this.pnlDefaultSchema.setLayout(var18);
- var19.insets = new Insets(2, 5, 2, 5);
- var19.ipady = 5;
- var19.fill = 2;
- var19.weightx = (double)0.5F;
- var19.gridx = 0;
- var19.gridy = 0;
- var18.setConstraints(this.lblDefSchema, var19);
- this.pnlDefaultSchema.add(this.lblDefSchema);
- var19.fill = 2;
- var19.weightx = (double)0.5F;
- var19.gridx = 0;
- var19.gridy = 1;
- var18.setConstraints(this.cmbSchemaTypes, var19);
- this.pnlDefaultSchema.add(this.cmbSchemaTypes);
- this.pnlHelpBrowser = new JPanel();
- TitledBorder var20 = BorderFactory.createTitledBorder(UI.getString("dialog.preferences.panel.help.title"));
- this.pnlHelpBrowser.setBorder(var20);
- GridBagLayout var21 = new GridBagLayout();
- GridBagConstraints var22 = new GridBagConstraints();
- this.pnlHelpBrowser.setLayout(var21);
- var22.insets = new Insets(2, 5, 2, 5);
- var22.fill = 2;
- var22.weightx = (double)0.5F;
- var22.gridx = 0;
- var22.gridy = 0;
- var21.setConstraints(this.rbXAHelp, var22);
- this.pnlHelpBrowser.add(this.rbXAHelp);
- var22.gridx = 0;
- var22.gridy = 1;
- var21.setConstraints(this.rbOtherHelp, var22);
- this.pnlHelpBrowser.add(this.rbOtherHelp);
- var22.anchor = 17;
- var22.gridx = 0;
- var22.gridy = 2;
- var21.setConstraints(var7, var22);
- this.pnlHelpBrowser.add(var7);
- this.pnlMisc = new JPanel();
- TitledBorder var23 = BorderFactory.createTitledBorder(UI.getString("dialog.preferences.panel.misc.title"));
- this.pnlMisc.setBorder(BorderFactory.createCompoundBorder(new EmptyBorder(8, 0, 0, 0), var23));
- GridBagLayout var24 = new GridBagLayout();
- GridBagConstraints var25 = new GridBagConstraints();
- this.pnlMisc.setLayout(var24);
- var25.insets = new Insets(2, 5, 2, 5);
- var25.fill = 2;
- var25.weightx = (double)0.0F;
- var25.ipady = 5;
- var25.insets.left = 4;
- var25.gridx = 0;
- var25.gridy = 0;
- var24.setConstraints(this.cbOnlineHelp, var25);
- this.pnlMisc.add(this.cbOnlineHelp);
- var25.gridx = 0;
- var25.gridy = 1;
- var24.setConstraints(this.cbShowWelcome, var25);
- this.pnlMisc.add(this.cbShowWelcome);
- var25.gridx = 0;
- var25.gridy = 2;
- var24.setConstraints(this.cbOverview, var25);
- this.pnlMisc.add(this.cbOverview);
- var25.gridx = 0;
- var25.gridy = 3;
- var24.setConstraints(this.cbComment, var25);
- this.pnlMisc.add(this.cbComment);
- var25.gridx = 0;
- var25.gridy = 4;
- var25.weighty = (double)0.0F;
- var25.fill = 0;
- var25.anchor = 17;
- var24.setConstraints(var16, var25);
- this.pnlMisc.add(var16);
- var25.gridx = 0;
- var25.gridy = 5;
- var25.fill = 2;
- RSeparator var26 = new RSeparator(3);
- var24.setConstraints(var26, var25);
- this.pnlMisc.add(var26);
- var25.gridx = 0;
- var25.gridy = 6;
- var24.setConstraints(this.cbDebug, var25);
- this.pnlMisc.add(this.cbDebug);
- var25.gridx = 0;
- var25.gridy = 7;
- var24.setConstraints(this.debugDescription, var25);
- this.pnlMisc.add(this.debugDescription);
- JPanel var27 = new JPanel();
- GridBagLayout var28 = new GridBagLayout();
- GridBagConstraints var29 = new GridBagConstraints();
- ((Container)var27).setLayout(var28);
- var29.fill = 2;
- var29.insets = new Insets(0, 5, 0, 0);
- var29.insets.top = 8;
- var29.weighty = (double)20.0F;
- var29.weightx = (double)0.5F;
- var29.gridx = 0;
- var29.gridy = 0;
- var28.setConstraints(this.pnlDefaultSchema, var29);
- ((Container)var27).add(this.pnlDefaultSchema);
- var29.gridx = 0;
- var29.gridy = 1;
- var28.setConstraints(this.pnlHelpBrowser, var29);
- ((Container)var27).add(this.pnlHelpBrowser);
- var29.gridx = 0;
- var29.gridy = 2;
- var28.setConstraints(this.pnlSchemaPath, var29);
- ((Container)var27).add(this.pnlSchemaPath);
- var29.gridx = 0;
- var29.gridy = 3;
- var28.setConstraints(this.pnlOpenFromBase, var29);
- ((Container)var27).add(this.pnlOpenFromBase);
- var29.gridx = 0;
- var29.gridy = 4;
- var28.setConstraints(this.pnlSaveToBase, var29);
- ((Container)var27).add(this.pnlSaveToBase);
- JPanel var30 = new JPanel();
- ((Container)var30).setLayout(new FlowLayout(1, 16, 8));
- ((Container)var30).add(this.btnAccept);
- ((Container)var30).add(this.btnCancel);
- BorderLayout var31 = new BorderLayout(8, 8);
- ((JDialog)this).getContentPane().setLayout(var31);
- ((JDialog)this).getContentPane().add(var30, "South");
- ((JDialog)this).getContentPane().add(this.pnlMisc, "East");
- ((JDialog)this).getContentPane().add(var27, "Center");
- ((JDialog)this).setDefaultCloseOperation(1);
- ((Dialog)this).setTitle(UI.getString("dialog.preferences.title"));
- ((Window)this).pack();
- Screen.centerInScreen(this);
- }
-
- public static String[] convertAllowedTypes(String[] var0) {
- if (var0 == null) {
- var0 = new String[0];
- }
-
- String[] var1 = new String[var0.length];
-
- for(int var2 = 0; var2 < var0.length; ++var2) {
- var1[var2] = UI.getString("dialog.file.type", UI.getFileTypeName(var0[var2]), var0[var2]);
- }
-
- return var1;
- }
-
- private void enableTfOtherBrowser() {
- if (this.rbXAHelp.isSelected()) {
- this.tfOtherBrowser.setEnabled(false);
- this.btnBrowseBrowser.setEnabled(false);
- } else {
- this.tfOtherBrowser.setEnabled(true);
- this.btnBrowseBrowser.setEnabled(true);
- }
-
- }
-
- // $FF: synthetic method
- static void access$7000071(PreferencesDialog var0) {
- var0.enableTfOtherBrowser();
- }
- }
-